package Cajero.Interfaz;

import java.util.*;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

/**
 *
 * @author Yalile Bermudes
 */
public class Factura extends javax.swing.JFrame implements Runnable {

    /**
     * Variables que tomaran los valores de la fecha y la hora
     */
    private String dia, mes, año, hora, minutos, segundos;
    private final Calendar calendario = new GregorianCalendar();
    /**
     * Hilo que actualizara la fecha
     */
    Thread hilo;

    /**
     * Constructor de la clase. Se inicializa el hilo del reloj digital.
     */
    public Factura() {
        super("SIVOUT-FACTURA");
        initComponents();
        this.setLocationRelativeTo(null);
        this.setVisible(true);
        this.setResizable(false);
        hilo = new Thread(this);
        hilo.start();
        
    }

    /**
     * Proceso que realizara el hilo para actualizar la fecha
     */
    public void run() {
        Thread ct = Thread.currentThread();
        while (ct == hilo) {
            try {
                actualiza();
                int mesE;
                mesE = Integer.valueOf(mes) + 1;// Ya que Enero lo toma como 0 entonces solo hay que sumar uno

                lbFechaActual.setText("<html><center>" + dia + " / " + mesE + " / " + año
                        + "<br>" + hora + ":" + minutos + ":" + segundos);

                Thread.sleep(1000);//Espera del hilo
            } catch (InterruptedException ex) {
                System.out.println(ex.getMessage());
            }

        }

    }

    /**
     * Metodo que tomara los valores de la fecha y hora.
     */
    public void actualiza() {

        Date fechaHoraActual = new Date();
        calendario.setTime(fechaHoraActual);

        hora = String.valueOf(calendario.get(Calendar.HOUR_OF_DAY));
        minutos = calendario.get(Calendar.MINUTE) > 9 ? ""
                + calendario.get(Calendar.MINUTE) : "0" + calendario.get(Calendar.MINUTE);
        segundos = calendario.get(Calendar.SECOND) > 9 ? ""
                + calendario.get(Calendar.SECOND) : "0" + calendario.get(Calendar.SECOND);
        dia = calendario.get(Calendar.DATE) > 9 ? ""
                + calendario.get(Calendar.DATE) : "0" + calendario.get(Calendar.DATE);
        mes = calendario.get(Calendar.MONTH) > 9 ? ""
                + calendario.get(Calendar.MONTH) : "0" + calendario.get(Calendar.MONTH);
        año = calendario.get(Calendar.YEAR) > 9 ? ""
                + calendario.get(Calendar.YEAR) : "0" + calendario.get(Calendar.YEAR);
    }

    /**
     * Asignamos addActionListener de la clase.
     *
     * @param control
     */
    public void SetControlador(ControladorCajero control) {
        btSalir.addActionListener(control);
        btRegistrar.addActionListener(control);
        btBuscar.addActionListener(control);
        btBuscarProducto.addActionListener(control);
    }

    //Asignar valores
    void setNombreCliente(String nombre) {
        lbNombreCliente.setText(nombre);
    }

    void setDireccion(String direccion) {
        lbDireccionCliente.setText(direccion);
    }

    void setProductoSeleccionado() {
        DefaultTableModel modelo = (DefaultTableModel) tbProductos.getModel();
        int i = tbProductos.getSelectedRow();

        if (i == -1) {
            JOptionPane.showMessageDialog(null, "Por favor, seleccione el producto que desea eliminar");
        } else {
            modelo.removeRow(i);
        }
    }
        
    void setTablaProducto(Object[] producto){
        DefaultTableModel modelo = (DefaultTableModel) tbProductos.getModel();
        modelo.addRow(producto);
        tbProductos.setModel(modelo);
    }

    //Obtener Acciones
    Object getBoton() {
        return btRegistrar;
    }

    Object getBotonBuscar() {
        return btBuscar;
    }
    
    Object getBontonAgregarTabla(){
        return btAgregarEnTabla;
    }

    Object getBotonBuscarProducto() {
        return btBuscarProducto;
    }

    Object getEliminarProducto() {
        return btEliminar;
    }

    //Obtener valores
    String getDocumento() {
        return txDocumento.getText();
    }

    String getFechaActual() {
        return lbFechaActual.getText();
    }

    String[] getProductoComprados() {
        String[] productos = null;
        TableModel tableModel = tbProductos.getModel();
        int fils = tableModel.getRowCount();
        for (int i = 0; i < fils; i++) {

            productos[i] = tableModel.getValueAt(i, 0).toString();

        }

        return productos;
    }

    String getProducto() {
        String codigo = txCodigoProducto.getText();
        return codigo;
    }


    
    
    int getCantidad() {
        int cant;
        try {
            cant = Integer.parseInt(txCantidad.getText());
        } catch (NumberFormatException e) {
            cant = 0;
        }
        return cant;
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        contenedor = new javax.swing.JPanel();
        contenedorFondoOsc = new javax.swing.JPanel();
        jpProductos = new javax.swing.JPanel();
        spTablaProductos = new javax.swing.JScrollPane();
        tbProductos = new javax.swing.JTable();
        lbCodigo = new javax.swing.JLabel();
        txCodigoProducto = new javax.swing.JTextField();
        btBuscarProducto = new javax.swing.JButton();
        lbCantidad = new javax.swing.JLabel();
        txCantidad = new javax.swing.JTextField();
        btAgregarEnTabla = new javax.swing.JButton();
        btEliminar = new javax.swing.JButton();
        jpInformacionCaja = new javax.swing.JPanel();
        lbPunto = new javax.swing.JLabel();
        lbPuntoVenta = new javax.swing.JLabel();
        lbTituloTerminal = new javax.swing.JLabel();
        lbTerminal = new javax.swing.JLabel();
        lbCajero = new javax.swing.JLabel();
        lbFecha = new javax.swing.JLabel();
        lbFechaActual = new javax.swing.JLabel();
        jSeparator = new javax.swing.JSeparator();
        jLabel1 = new javax.swing.JLabel();
        jpInformacionCliente = new javax.swing.JPanel();
        lbDocumento = new javax.swing.JLabel();
        txDocumento = new javax.swing.JTextField();
        btBuscar = new javax.swing.JButton();
        btRegistrar = new javax.swing.JButton();
        lbNombre = new javax.swing.JLabel();
        lbNombreCliente = new javax.swing.JLabel();
        lbDireccion = new javax.swing.JLabel();
        lbDireccionCliente = new javax.swing.JLabel();
        jpValoresDePago = new javax.swing.JPanel();
        lbTituloSubtotal = new javax.swing.JLabel();
        lbSubtotal = new javax.swing.JLabel();
        lbTituloIVA = new javax.swing.JLabel();
        lbIVA = new javax.swing.JLabel();
        lbTituloTotal = new javax.swing.JLabel();
        lbTotal = new javax.swing.JLabel();
        jSeparator1 = new javax.swing.JSeparator();
        lbTituloEfectivo = new javax.swing.JLabel();
        lbEfectivo = new javax.swing.JLabel();
        lbTituloCredito = new javax.swing.JLabel();
        lbCredito = new javax.swing.JLabel();
        lbTituloDebito = new javax.swing.JLabel();
        lbDebito = new javax.swing.JLabel();
        btFormaPago = new javax.swing.JButton();
        btAceptar = new javax.swing.JButton();
        btLimpiar = new javax.swing.JButton();
        btSalir = new javax.swing.JButton();
        jSeparator2 = new javax.swing.JSeparator();
        jLabel3 = new javax.swing.JLabel();
        jSeparator3 = new javax.swing.JSeparator();
        jSeparator4 = new javax.swing.JSeparator();
        jLabel4 = new javax.swing.JLabel();
        fondoOscuro = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setMinimumSize(new java.awt.Dimension(900, 640));
        setResizable(false);
        getContentPane().setLayout(null);

        contenedor.setOpaque(false);
        contenedor.setLayout(null);

        contenedorFondoOsc.setLayout(null);

        jpProductos.setOpaque(false);
        jpProductos.setLayout(null);

        tbProductos.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        tbProductos.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null}
            },
            new String [] {
                "Codigo", "Nombre", "Cantidad", "Precion Unit.", "Dto %", "Precio Total", "Precio con IVA"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        tbProductos.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        spTablaProductos.setViewportView(tbProductos);
        tbProductos.getColumnModel().getColumn(0).setResizable(false);
        tbProductos.getColumnModel().getColumn(1).setResizable(false);
        tbProductos.getColumnModel().getColumn(2).setResizable(false);
        tbProductos.getColumnModel().getColumn(3).setResizable(false);
        tbProductos.getColumnModel().getColumn(4).setResizable(false);
        tbProductos.getColumnModel().getColumn(5).setResizable(false);
        tbProductos.getColumnModel().getColumn(6).setResizable(false);

        jpProductos.add(spTablaProductos);
        spTablaProductos.setBounds(20, 70, 785, 100);

        lbCodigo.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        lbCodigo.setForeground(new java.awt.Color(230, 230, 230));
        lbCodigo.setText("Codigo producto:");
        jpProductos.add(lbCodigo);
        lbCodigo.setBounds(20, 30, 122, 15);

        txCodigoProducto.setMinimumSize(new java.awt.Dimension(10, 30));
        txCodigoProducto.setPreferredSize(new java.awt.Dimension(10, 30));
        jpProductos.add(txCodigoProducto);
        txCodigoProducto.setBounds(150, 20, 121, 30);

        btBuscarProducto.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        btBuscarProducto.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/buscar.png"))); // NOI18N
        btBuscarProducto.setText("Consultar");
        jpProductos.add(btBuscarProducto);
        btBuscarProducto.setBounds(700, 20, 120, 30);

        lbCantidad.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        lbCantidad.setForeground(new java.awt.Color(230, 230, 230));
        lbCantidad.setText("Cantidad:");
        jpProductos.add(lbCantidad);
        lbCantidad.setBounds(280, 30, 69, 15);

        txCantidad.setMinimumSize(new java.awt.Dimension(10, 30));
        txCantidad.setPreferredSize(new java.awt.Dimension(10, 30));
        jpProductos.add(txCantidad);
        txCantidad.setBounds(360, 20, 34, 30);

        btAgregarEnTabla.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        btAgregarEnTabla.setText("Agregar");
        jpProductos.add(btAgregarEnTabla);
        btAgregarEnTabla.setBounds(410, 20, 130, 30);

        btEliminar.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        btEliminar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Eliminar.png"))); // NOI18N
        btEliminar.setText("Eliminar");
        jpProductos.add(btEliminar);
        btEliminar.setBounds(550, 20, 140, 30);

        contenedorFondoOsc.add(jpProductos);
        jpProductos.setBounds(10, 220, 830, 180);

        jpInformacionCaja.setBackground(new java.awt.Color(166, 163, 185));
        jpInformacionCaja.setToolTipText("");
        jpInformacionCaja.setOpaque(false);
        jpInformacionCaja.setLayout(null);

        lbPunto.setFont(new java.awt.Font("Ubuntu", 1, 14)); // NOI18N
        lbPunto.setForeground(new java.awt.Color(240, 240, 240));
        lbPunto.setText("Punto de venta:");
        jpInformacionCaja.add(lbPunto);
        lbPunto.setBounds(50, 10, 106, 17);

        lbPuntoVenta.setBackground(new java.awt.Color(236, 232, 229));
        lbPuntoVenta.setFont(new java.awt.Font("Ubuntu", 1, 14)); // NOI18N
        lbPuntoVenta.setForeground(new java.awt.Color(217, 214, 214));
        lbPuntoVenta.setText("N° punto");
        jpInformacionCaja.add(lbPuntoVenta);
        lbPuntoVenta.setBounds(170, 10, 64, 16);

        lbTituloTerminal.setFont(new java.awt.Font("Ubuntu", 1, 14)); // NOI18N
        lbTituloTerminal.setForeground(new java.awt.Color(240, 240, 240));
        lbTituloTerminal.setText("Terminal:");
        jpInformacionCaja.add(lbTituloTerminal);
        lbTituloTerminal.setBounds(280, 10, 63, 17);

        lbTerminal.setBackground(new java.awt.Color(236, 232, 229));
        lbTerminal.setFont(new java.awt.Font("Ubuntu", 1, 14)); // NOI18N
        lbTerminal.setForeground(new java.awt.Color(217, 214, 214));
        lbTerminal.setText("N° terminal");
        jpInformacionCaja.add(lbTerminal);
        lbTerminal.setBounds(350, 10, 90, 16);

        lbCajero.setFont(new java.awt.Font("Ubuntu", 1, 14)); // NOI18N
        lbCajero.setForeground(new java.awt.Color(240, 240, 240));
        lbCajero.setText("Cajero:");
        jpInformacionCaja.add(lbCajero);
        lbCajero.setBounds(50, 30, 49, 17);

        lbFecha.setFont(new java.awt.Font("Ubuntu", 1, 14)); // NOI18N
        lbFecha.setForeground(new java.awt.Color(240, 240, 240));
        lbFecha.setText("Fecha y hora:");
        jpInformacionCaja.add(lbFecha);
        lbFecha.setBounds(470, 10, 88, 17);

        lbFechaActual.setBackground(new java.awt.Color(236, 232, 229));
        lbFechaActual.setFont(new java.awt.Font("Ubuntu", 1, 14)); // NOI18N
        lbFechaActual.setForeground(new java.awt.Color(217, 214, 214));
        lbFechaActual.setText("19-05-2014  ");
        lbFechaActual.setFocusable(false);
        lbFechaActual.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jpInformacionCaja.add(lbFechaActual);
        lbFechaActual.setBounds(580, 0, 100, 50);

        jSeparator.setOrientation(javax.swing.SwingConstants.VERTICAL);
        jpInformacionCaja.add(jSeparator);
        jSeparator.setBounds(460, 10, 20, 30);

        jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/prueba.jpg"))); // NOI18N
        jpInformacionCaja.add(jLabel1);
        jLabel1.setBounds(0, 0, 710, 50);

        contenedorFondoOsc.add(jpInformacionCaja);
        jpInformacionCaja.setBounds(130, 30, 710, 50);
        jpInformacionCaja.getAccessibleContext().setAccessibleName("");

        jpInformacionCliente.setBackground(new java.awt.Color(151, 151, 151));
        jpInformacionCliente.setForeground(new java.awt.Color(199, 195, 195));
        jpInformacionCliente.setOpaque(false);
        jpInformacionCliente.setLayout(null);

        lbDocumento.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        lbDocumento.setForeground(new java.awt.Color(253, 235, 235));
        lbDocumento.setText("Documento:");
        jpInformacionCliente.add(lbDocumento);
        lbDocumento.setBounds(10, 20, 110, 30);

        txDocumento.setMinimumSize(new java.awt.Dimension(10, 30));
        txDocumento.setPreferredSize(new java.awt.Dimension(10, 30));
        jpInformacionCliente.add(txDocumento);
        txDocumento.setBounds(110, 20, 147, 28);

        btBuscar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/buscar.png"))); // NOI18N
        btBuscar.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        btBuscar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btBuscar.setIconTextGap(-3);
        jpInformacionCliente.add(btBuscar);
        btBuscar.setBounds(280, 20, 40, 30);

        btRegistrar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/add-button-md.png"))); // NOI18N
        jpInformacionCliente.add(btRegistrar);
        btRegistrar.setBounds(340, 20, 50, 30);

        lbNombre.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        lbNombre.setForeground(new java.awt.Color(253, 235, 235));
        lbNombre.setText("Nombre:");
        jpInformacionCliente.add(lbNombre);
        lbNombre.setBounds(420, 20, 70, 20);

        lbNombreCliente.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        lbNombreCliente.setForeground(new java.awt.Color(199, 195, 195));
        lbNombreCliente.setText("CLIENTE");
        jpInformacionCliente.add(lbNombreCliente);
        lbNombreCliente.setBounds(560, 20, 55, 20);

        lbDireccion.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        lbDireccion.setForeground(new java.awt.Color(253, 235, 235));
        lbDireccion.setText("Direccion:");
        jpInformacionCliente.add(lbDireccion);
        lbDireccion.setBounds(420, 50, 70, 20);

        lbDireccionCliente.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        lbDireccionCliente.setForeground(new java.awt.Color(199, 195, 195));
        lbDireccionCliente.setText("CLIENTE");
        jpInformacionCliente.add(lbDireccionCliente);
        lbDireccionCliente.setBounds(560, 50, 55, 20);

        contenedorFondoOsc.add(jpInformacionCliente);
        jpInformacionCliente.setBounds(30, 130, 790, 80);

        jpValoresDePago.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
        jpValoresDePago.setForeground(new java.awt.Color(235, 233, 233));
        jpValoresDePago.setOpaque(false);
        jpValoresDePago.setLayout(null);

        lbTituloSubtotal.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        lbTituloSubtotal.setForeground(new java.awt.Color(235, 233, 233));
        lbTituloSubtotal.setText("SubTotal");
        jpValoresDePago.add(lbTituloSubtotal);
        lbTituloSubtotal.setBounds(20, 20, 70, 15);

        lbSubtotal.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        lbSubtotal.setForeground(new java.awt.Color(189, 189, 189));
        lbSubtotal.setText("              0.00");
        jpValoresDePago.add(lbSubtotal);
        lbSubtotal.setBounds(0, 40, 90, 20);

        lbTituloIVA.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        lbTituloIVA.setForeground(new java.awt.Color(235, 233, 233));
        lbTituloIVA.setText("IVA");
        jpValoresDePago.add(lbTituloIVA);
        lbTituloIVA.setBounds(140, 20, 22, 15);

        lbIVA.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        lbIVA.setForeground(new java.awt.Color(189, 189, 189));
        lbIVA.setText("            0.00");
        jpValoresDePago.add(lbIVA);
        lbIVA.setBounds(90, 40, 80, 20);

        lbTituloTotal.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        lbTituloTotal.setForeground(new java.awt.Color(235, 233, 233));
        lbTituloTotal.setText("Total:");
        jpValoresDePago.add(lbTituloTotal);
        lbTituloTotal.setBounds(260, 20, 41, 15);

        lbTotal.setFont(new java.awt.Font("DejaVu Sans", 1, 14)); // NOI18N
        lbTotal.setForeground(new java.awt.Color(247, 20, 20));
        lbTotal.setText("              0.00");
        jpValoresDePago.add(lbTotal);
        lbTotal.setBounds(200, 40, 110, 20);

        jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL);
        jpValoresDePago.add(jSeparator1);
        jSeparator1.setBounds(320, 20, 10, 40);

        lbTituloEfectivo.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        lbTituloEfectivo.setForeground(new java.awt.Color(235, 233, 233));
        lbTituloEfectivo.setText("Efectivo");
        jpValoresDePago.add(lbTituloEfectivo);
        lbTituloEfectivo.setBounds(350, 20, 60, 15);

        lbEfectivo.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        lbEfectivo.setForeground(new java.awt.Color(189, 189, 189));
        lbEfectivo.setText("           0.00");
        jpValoresDePago.add(lbEfectivo);
        lbEfectivo.setBounds(330, 40, 80, 15);

        lbTituloCredito.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        lbTituloCredito.setForeground(new java.awt.Color(235, 233, 233));
        lbTituloCredito.setText("Credito");
        jpValoresDePago.add(lbTituloCredito);
        lbTituloCredito.setBounds(460, 20, 52, 15);

        lbCredito.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        lbCredito.setForeground(new java.awt.Color(189, 189, 189));
        lbCredito.setText("               0.00");
        jpValoresDePago.add(lbCredito);
        lbCredito.setBounds(420, 40, 90, 15);

        lbTituloDebito.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        lbTituloDebito.setForeground(new java.awt.Color(235, 233, 233));
        lbTituloDebito.setText("Debito");
        jpValoresDePago.add(lbTituloDebito);
        lbTituloDebito.setBounds(560, 20, 50, 15);

        lbDebito.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        lbDebito.setForeground(new java.awt.Color(189, 189, 189));
        lbDebito.setText("                 0.00");
        jpValoresDePago.add(lbDebito);
        lbDebito.setBounds(510, 40, 100, 15);

        btFormaPago.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        btFormaPago.setText("Formas de pago");
        jpValoresDePago.add(btFormaPago);
        btFormaPago.setBounds(620, 20, 160, 30);

        contenedorFondoOsc.add(jpValoresDePago);
        jpValoresDePago.setBounds(30, 410, 790, 70);

        btAceptar.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        btAceptar.setText("Aceptar");
        btAceptar.setPreferredSize(new java.awt.Dimension(61, 30));
        contenedorFondoOsc.add(btAceptar);
        btAceptar.setBounds(470, 500, 100, 30);

        btLimpiar.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        btLimpiar.setText("Limpiar");
        contenedorFondoOsc.add(btLimpiar);
        btLimpiar.setBounds(600, 500, 90, 30);

        btSalir.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
        btSalir.setText("Salir");
        btSalir.setPreferredSize(new java.awt.Dimension(50, 30));
        contenedorFondoOsc.add(btSalir);
        btSalir.setBounds(720, 500, 100, 30);
        contenedorFondoOsc.add(jSeparator2);
        jSeparator2.setBounds(10, 220, 820, 20);

        jLabel3.setFont(new java.awt.Font("SansSerif", 1, 15)); // NOI18N
        jLabel3.setForeground(new java.awt.Color(128, 128, 128));
        jLabel3.setText("Ingreso de Ventas");
        contenedorFondoOsc.add(jLabel3);
        jLabel3.setBounds(340, 100, 160, 20);
        contenedorFondoOsc.add(jSeparator3);
        jSeparator3.setBounds(510, 110, 320, 20);
        contenedorFondoOsc.add(jSeparator4);
        jSeparator4.setBounds(10, 110, 320, 20);

        jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/logoEncabezado.png"))); // NOI18N
        contenedorFondoOsc.add(jLabel4);
        jLabel4.setBounds(20, 10, 110, 90);

        fondoOscuro.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/fondoCentral.jpg"))); // NOI18N
        contenedorFondoOsc.add(fondoOscuro);
        fondoOscuro.setBounds(0, 0, 840, 560);

        contenedor.add(contenedorFondoOsc);
        contenedorFondoOsc.setBounds(30, 30, 840, 560);

        jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Camping.jpg"))); // NOI18N
        contenedor.add(jLabel2);
        jLabel2.setBounds(0, 0, 900, 620);

        getContentPane().add(contenedor);
        contenedor.setBounds(0, 0, 900, 620);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    /**
     * @param args the command line arguments
     */
   /* public static void main(String args[]) {
        /*
         * Set the Nimbus look and feel
         */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /*
         * If Nimbus (introduced in Java SE 6) is not available, stay with the
         * default look and feel. For details see
         * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
/*        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Factura.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Factura.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Factura.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Factura.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /*
         * Create and display the form
         
        

    }*/
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btAceptar;
    private javax.swing.JButton btAgregarEnTabla;
    private javax.swing.JButton btBuscar;
    private javax.swing.JButton btBuscarProducto;
    private javax.swing.JButton btEliminar;
    private javax.swing.JButton btFormaPago;
    private javax.swing.JButton btLimpiar;
    private javax.swing.JButton btRegistrar;
    private javax.swing.JButton btSalir;
    private javax.swing.JPanel contenedor;
    private javax.swing.JPanel contenedorFondoOsc;
    private javax.swing.JLabel fondoOscuro;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JSeparator jSeparator;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JSeparator jSeparator2;
    private javax.swing.JSeparator jSeparator3;
    private javax.swing.JSeparator jSeparator4;
    private javax.swing.JPanel jpInformacionCaja;
    private javax.swing.JPanel jpInformacionCliente;
    private javax.swing.JPanel jpProductos;
    private javax.swing.JPanel jpValoresDePago;
    private javax.swing.JLabel lbCajero;
    private javax.swing.JLabel lbCantidad;
    private javax.swing.JLabel lbCodigo;
    private javax.swing.JLabel lbCredito;
    private javax.swing.JLabel lbDebito;
    private javax.swing.JLabel lbDireccion;
    private javax.swing.JLabel lbDireccionCliente;
    private javax.swing.JLabel lbDocumento;
    private javax.swing.JLabel lbEfectivo;
    private javax.swing.JLabel lbFecha;
    private javax.swing.JLabel lbFechaActual;
    private javax.swing.JLabel lbIVA;
    private javax.swing.JLabel lbNombre;
    private javax.swing.JLabel lbNombreCliente;
    private javax.swing.JLabel lbPunto;
    private javax.swing.JLabel lbPuntoVenta;
    private javax.swing.JLabel lbSubtotal;
    private javax.swing.JLabel lbTerminal;
    private javax.swing.JLabel lbTituloCredito;
    private javax.swing.JLabel lbTituloDebito;
    private javax.swing.JLabel lbTituloEfectivo;
    private javax.swing.JLabel lbTituloIVA;
    private javax.swing.JLabel lbTituloSubtotal;
    private javax.swing.JLabel lbTituloTerminal;
    private javax.swing.JLabel lbTituloTotal;
    private javax.swing.JLabel lbTotal;
    private javax.swing.JScrollPane spTablaProductos;
    private javax.swing.JTable tbProductos;
    private javax.swing.JTextField txCantidad;
    private javax.swing.JTextField txCodigoProducto;
    private javax.swing.JTextField txDocumento;
    // End of variables declaration//GEN-END:variables
}
